package com.sicocre.actions;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import com.sicocre.beans.Apertura;
import com.sicocre.beans.Cliente;
import com.sicocre.beans.Detalles;
import com.sicocre.business.service.IAperturaService;
import com.sicocre.business.service.IComboService;


@Component
@Scope("request")
public class DetalleAction implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6727606328179995907L;

	private static final Logger log = Logger.getLogger(DetalleAction.class);
	
	/**
	 * 
	 */
	
	@Autowired
	private IComboService comboService;
	@Autowired
	private IAperturaService aperturaService;
	
	private ArrayList<Cliente> listCliente;
	private List<Cliente> filteredCliente;
	private Cliente cliente;
	private Cliente selectedCliente;
	private ArrayList<Detalles> listDetalle;
	private ArrayList<Apertura> listPagos;
	private ArrayList<Apertura> aperturasXCliente;
	private String sts ="";
	private String folio="";
	static int cveCliente=0;
	private int idApe=0;
	
	
		
	
	public DetalleAction(){	
	  this.cliente=new Cliente();
	  	
	}
		
	@PostConstruct
	public void initForm(){		
		listCliente = comboService.consultaClienteB();
		//aperturasXCliente= comboService.conNumAperturas(1);
	}
	
	public void buscaApertura(){
		System.out.println("Entro en el Pop..." + selectedCliente.getNombre());			
		cliente = comboService.consultaClienteDet(selectedCliente.getClave());
		this.cveCliente = selectedCliente.getClave();
		System.out.println("y cve cli es." + cveCliente );
	  
	}
	
		
	public void commentsDetalle(){
		System.out.println("idapertura.. "  + idApe);
		System.out.println("cve cliente.. " + cveCliente);
		//folio="500";
		listDetalle = comboService.consultaDetalle(cveCliente, idApe);	
	}
	
	
	public void guardarFolio(){
	//	System.out.println("folio: " +  folio);
	 //aperturaService.actualizaFolio(cveCliente, folio);
	 //folio="";
	  		
	}
	
	public String verDetalle(){
		cliente = comboService.consultaClienteDet(selectedCliente.getClave());
		listPagos = comboService.consultaPago(selectedCliente.getClave());
		sts = listPagos.get(0).getStatus().getDescripcionStatus();
		System.out.println(folio= listPagos.get(0).getFolio());
		
		return "/pages/xhtml/detalleClienteView.xhtml";
		
		
	}
	
	public String regresar(){
		return "/pages/xhtml/busquedaClienteView.xhtml?faces-redirect=true";
	}
	
	
	
/*	public void guardar(){
		log.info("Comenzando a guardar...  ");
		System.out.println("clave del cliente desde guardar...." + cveCli);
	if (cveCli != 0){
		cliente.setClave(cveCli);
		apertura.setCliente(cliente);
	
		if(aperturaService.insertApertura(apertura)){			
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, Constantes.MSG_SUCCESS, Constantes.MSG_SUCCESS);
            FacesContext.getCurrentInstance().addMessage(null, message);
		}else{
			FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, Constantes.MSG_ERROR, Constantes.MSG_ERROR);
            FacesContext.getCurrentInstance().addMessage(null, message);
		}
	}
	} */


	
	public IComboService getComboService() {
		return comboService;
	}


	public void setComboService(IComboService comboService) {
		this.comboService = comboService;
	}

	
	public ArrayList<Cliente> getListCliente() {
		return listCliente;
	}


	public void setListCliente(ArrayList<Cliente> listCliente) {
		this.listCliente = listCliente;
	}

	
	public List<Cliente> getFilteredCliente() {
		return filteredCliente;
	}

	public void setFilteredCliente(List<Cliente> filteredCliente) {
		this.filteredCliente = filteredCliente;
	}

	public Cliente getSelectedCliente() {
		return selectedCliente;
	}

	public void setSelectedCliente(Cliente selectedCliente) {
		this.selectedCliente = selectedCliente;
	}

	public ArrayList<Detalles> getListDetalle() {
		return listDetalle;
	}

	public void setListDetalle(ArrayList<Detalles> listDetalle) {
		this.listDetalle = listDetalle;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public ArrayList<Apertura> getListPagos() {
		return listPagos;
	}

	public void setListPagos(ArrayList<Apertura> listPagos) {
		this.listPagos = listPagos;
	}

	public String getSts() {
		return sts;
	}

	public void setSts(String sts) {
		this.sts = sts;
	}

	public String getFolio() {
		return folio;
	}

	public void setFolio(String folio) {
		this.folio = folio;
	}

	public IAperturaService getAperturaService() {
		return aperturaService;
	}

	public void setAperturaService(IAperturaService aperturaService) {
		this.aperturaService = aperturaService;
	}

	public int getCveCliente() {
		return cveCliente;
	}

	public void setCveCliente(int cveCliente) {
		this.cveCliente = cveCliente;
	}

	public ArrayList<Apertura> getAperturasXCliente() {
		return aperturasXCliente;
	}

	public void setAperturasXCliente(ArrayList<Apertura> aperturasXCliente) {
		this.aperturasXCliente = aperturasXCliente;
	}

	public int getIdApe() {
		return idApe;
	}

	public void setIdApe(int idApe) {
		this.idApe = idApe;
	}

	
		
		
}
